/*
一维前缀和：

原数组：a1,a2,a3...an
前缀和：Si = a1+a2+a3+...+ai
特殊设置：S0=0
a[l] + ... + a[r] = S[r] - S[l - 1]
*/


/*
例题：
第一行：n m
第二行：长度为n的数组，（数组的下标从1开始）
接下来m 行：输入区间（l,r）求出该区间的和

输出：每个要求的区间的和

输入：
5 3
2 1 3 6 4
1 2
1 3
2 4

输出：
3 
6
10
*/
#include <bits/stdc++.h>
using namespace std;

const int N=10010;
int n,m;
int a[N],s[N];//s数组是前缀和数组

int main() {
  scanf("%d%d",&n,&m);
  for(int i=1;i<=n;i++) scanf("%d",&a[i]);

  for(int i=1;i<=n;i++) s[i]=s[i-1]+a[i];

  while(m--){
    int l,r;
    scanf("%d%d",&l,&r);
    printf("%d\n",s[r]-s[l-1]);
  }
  return 0;
}
